package com.example.company.service.impl;


import com.example.company.entity.Users;
import com.example.company.mapper.UsersMapper;
import com.example.company.service.IUsersService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 存储系统用户信息Service业务层处理
 *
 * @author ruoyi
 * @date 2024-12-30
 */
@Service
public class UsersServiceImpl implements IUsersService {
	@Autowired
	private UsersMapper usersMapper;
	
	/**
	 * 查询存储系统用户信息
	 *
	 * @param userid 存储系统用户信息主键
	 * @return 存储系统用户信息
	 */
	@Override
	public Users selectUsersByUserID(int userid) {
		return usersMapper.selectUsersByUserID(userid);
	}
	
	/**
	 * 查询存储系统用户信息列表
	 *
	 * @param users 存储系统用户信息
	 * @return 存储系统用户信息
	 */
	@Override
	public List<Users> selectUsersList(Users users) {
		return usersMapper.selectUsersList(users);
	}
	
	/**
	 * 新增存储系统用户信息
	 *
	 * @param users 存储系统用户信息
	 * @return 结果
	 */
	@Override
	public int insertUsers(Users users) {
		return usersMapper.insertUsers(users);
	}
	
	/**
	 * 修改存储系统用户信息
	 *
	 * @param users 存储系统用户信息
	 * @return 结果
	 */
	@Override
	public int updateUsers(Users users) {
		return usersMapper.updateUsers(users);
	}
	
	/**
	 * 批量删除存储系统用户信息
	 *
	 * @param UserIDs 需要删除的存储系统用户信息主键
	 * @return 结果
	 */
	@Override
	public int deleteUsersByUserIDs(Long[] UserIDs) {
		return usersMapper.deleteUsersByUserIDs(UserIDs);
	}
	
	/**
	 * 删除存储系统用户信息信息
	 *
	 * @param UserID 存储系统用户信息主键
	 * @return 结果
	 */
	@Override
	public int deleteUsersByUserID(Long UserID) {
		return usersMapper.deleteUsersByUserID(UserID);
	}
	
	@Override
	public PageInfo<Users> findPage(int pageNum, int pageSize, Users users) {
		PageHelper.startPage(pageNum, pageSize);
		List<Users> list = usersMapper.selectUsersList(users);
		
		System.out.println("List size: " + list.size());
		System.out.println("Page size: " + pageSize);
		PageInfo<Users> info = new PageInfo<>(list);
		return info;
	}
	

	
	@Override
	public PageInfo<Users> findPage2(int pageNum, int pageSize, Users users,Integer departmentid) {
		PageHelper.startPage(pageNum, pageSize);
		List<Users> list = usersMapper.selectUsersList2(users,departmentid);
		
		System.out.println("List size: " + list.size());
		System.out.println("Page size: " + pageSize);
		PageInfo<Users> info = new PageInfo<>(list);
		return info;
	}
}
